// 函数的结构：
/*  
  返回值类型 函数名(参数列表) {
    函数体
  }
*/

// 函数的特点：
/* 
  1.返回值类型和函数参数都可以省略
  2.函数没有返回值，如果没有明确指定返回值，那么默认返回值为 null
 */

void main() {
  // 调用函数
  fn();
  print(fn2()); // null

  int ret = sum(10, 20);
  print(ret);

  print(sum2(10, 10));

  // 调用
  printString('坤坤', age: 18);
}

// 函数的定义：无参数无返回值函数
void fn() {
  print('这是一个无参数无返回值函数');
}

fn2() {
  print('这是一个无参数无返回值函数');
}

// 求两个整数相加的函数
int sum(int a, int b) {
  return a + b;
}

sum2(a, b) {
  return a + b;
}

// 可选参数与默认参数
void printString(String name, {int? age, String? loaction = '坤星'}) {
  print('$name - $age - $loaction');
}
